package com.LeetCode.Math;

import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class GrayCode {

    public List<Integer> grayCode(int n) {
        List<Integer> res = new ArrayList<Integer>();
        for(int i = 0; i< 1<<n; i++){
            res.add(i ^ (i >> 1));
        }
        return res;
    }

    @Test
    public void test(){
        System.out.println(grayCode(3));
    }
}
